{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import  pickle"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "sys.path.append(\"./src\")\n",
    "from evals import *\n",
    "from optimization import *\n",
    "from gauss_update import *\n",
    "from gaussian_process import *\n",
    "from kinetic_model import *\n",
    "from mpc import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Load waypoints"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fc302b12518>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "with open('./data/waypoints.binaryfile', 'rb') as td:\n",
    "    waypoints = pickle.load(td)\n",
    "    \n",
    "cx,cy = waypoints[:,0],waypoints[:,1]\n",
    "plt.scatter(cx,cy,color='red',s=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Load training data (59 records collected using inaccurate dynamics model)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import  pickle\n",
    "with open('./data/training_data.binaryfile', 'rb') as td:\n",
    "    data = pickle.load(td)\n",
    "pos = torch.cat([d[0].view(1,-1) for d in data ] , dim=0)\n",
    "label = torch.cat([d[1].view(1,-1) for d in data ] , dim=0)\n",
    "pred = torch.cat([d[2].view(1,-1) for d in data ] , dim=0)\n",
    "cont_dt = torch.cat([d[3].view(1,-1) for d in data ] , dim=0)\n",
    "x = torch.cat([pos[:,2:],cont_dt[:,:-1]],dim=1)\n",
    "label_ = label[:,2:4]\n",
    "pred_ = pred[:,2:4]\n",
    "y = (label_ - pred_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### train Gaussian-Process"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "gp_model = GaussianProcess(dim_x=6,dim_y=2,var=0.01)\n",
    "gp_model.train(x,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### define process-model(inaccurate) and acutual-car-model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# inaccurate process_model\n",
    "p_model = vehicle_model(WB=2.5) \n",
    "\n",
    "# actual_car_model\n",
    "real_car_model = vehicle_model(WB=1.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Run MPC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "len_horizon = 10\n",
    "TMAX = 200\n",
    "step = 0\n",
    "sigma_w = 0.01\n",
    "start = 1\n",
    "speed = 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-8-0af65585c0c9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     31\u001b[0m     \u001b[0mmpc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mGP_MPC\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgp_propagator\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mconstruct_loss_\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mlen_horizon\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwaypoints\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     32\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 33\u001b[0;31m     \u001b[0mcontrols_dt\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mvars_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmpc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstate0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0m_controls\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mvs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mdt\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0m_vars\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     34\u001b[0m     \u001b[0mcontrols\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcontrols_dt\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     35\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/pyworks/gaussian_mpc/src/mpc.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, state_init, controls_init, vs, dt, start, _vars)\u001b[0m\n\u001b[1;32m     47\u001b[0m             \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzero_grad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     48\u001b[0m             \u001b[0mloss\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mrefs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mvs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0m_vars\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 49\u001b[0;31m             \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mretain_graph\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     50\u001b[0m             \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     51\u001b[0m             \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzero_grad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.local/lib/python3.6/site-packages/torch/tensor.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(self, gradient, retain_graph, create_graph)\u001b[0m\n\u001b[1;32m    105\u001b[0m                 \u001b[0mproducts\u001b[0m\u001b[0;34m.\u001b[0m \u001b[0mDefaults\u001b[0m \u001b[0mto\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    106\u001b[0m         \"\"\"\n\u001b[0;32m--> 107\u001b[0;31m         \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mautograd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgradient\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    108\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    109\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mregister_hook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhook\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/.local/lib/python3.6/site-packages/torch/autograd/__init__.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(tensors, grad_tensors, retain_graph, create_graph, grad_variables)\u001b[0m\n\u001b[1;32m     91\u001b[0m     Variable._execution_engine.run_backward(\n\u001b[1;32m     92\u001b[0m         \u001b[0mtensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrad_tensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 93\u001b[0;31m         allow_unreachable=True)  # allow_unreachable flag\n\u001b[0m\u001b[1;32m     94\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     95\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "# define gp_propagator (used to compute sequence of uncertainties of control accuracy)\n",
    "gp_propagator = gaussian_propagator(p_model.forward,gp_model.forward,sigma_w)\n",
    "\n",
    "# define initial state\n",
    "x0,y0,gx0,gy0 = waypoints[start]\n",
    "v0 = torch.sqrt(gx0.pow(2)+gy0.pow(2))*speed\n",
    "yaw0 = torch.atan2(gy0,gx0)\n",
    "delta0=torch.zeros(1)\n",
    "a0=torch.zeros(1)\n",
    "state0 = torch.cat( [x0.view(1),y0.view(1),yaw0.view(1),v0.view(1),delta0,a0])\n",
    "\n",
    "# initialize estimate of uncertainty of control accuracy\n",
    "vars0 = torch.ones(len_horizon)*0.1\n",
    "_vars=vars0\n",
    "\n",
    "# define first control input (not changing speed and steering angle) to be optimized later\n",
    "_controls = torch.nn.Parameter(torch.zeros(len_horizon,2))\n",
    "\n",
    "# define speed (constant velocity) \n",
    "dt = torch.ones(len_horizon,1)\n",
    "vs = torch.LongTensor(torch.arange(len_horizon+1))*speed\n",
    "\n",
    "real_path = []\n",
    "\n",
    "for T in range(TMAX):\n",
    "    if T>0:\n",
    "        start = start_\n",
    "        _controls = controls_.data.clone()\n",
    "        \n",
    "    # make prediction with MPC (inaccurate_model + gaussian_process)\n",
    "    mpc = GP_MPC(gp_propagator,construct_loss_,len_horizon,waypoints)\n",
    "\n",
    "    controls_dt,path,vars_ = mpc.run(state0,_controls,vs,dt,start,_vars)\n",
    "    controls = controls_dt[:,:-1]\n",
    "    \n",
    "    # measure actual state \n",
    "    state_real = real_car_model.forward(state0,controls_dt[0])\n",
    "    real_path.append(state_real.view(1,-1))\n",
    "\n",
    "    controls_ = _controls.data.clone()\n",
    "    controls_[:-(step+1)] = _controls[step+1:]\n",
    "    controls_[-(step+1):]=0\n",
    "    start_ = search_(state_real,waypoints,start,L=(speed+1)*len_horizon)\n",
    "    \n",
    "    state0 = state_real.data.clone()\n",
    "    _vars = vars_.data.clone()\n",
    "    \n",
    "    # visualization\n",
    "    _x = torch.cat(real_path,dim=0)[:,0].data.numpy()\n",
    "    _y = torch.cat(real_path,dim=0)[:,1].data.numpy()\n",
    "    \n",
    "    x_ = path[:,0].data.numpy()\n",
    "    y_ = path[:,1].data.numpy()\n",
    "    \n",
    "    plt.scatter(_x,_y,color='blue',s=30)\n",
    "    plt.scatter(x_,y_,color='green',s=20)\n",
    "    plt.scatter(cx,cy,color='red',s=1)\n",
    "    im = plt.draw()\n",
    "    s_zero = str(T).zfill(4)\n",
    "    '''\n",
    "    fn = \"./figs/fig\"+str(s_zero)+\".png\"\n",
    "    plt.savefig(fn)\n",
    "    '''\n",
    "    plt.pause(0.01)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
